<?php

class DepositoBN extends uEstratigraficaBN {

	public function crearDeposito(Uestratigrafica $objUE, $listaParticulas, $listaInclusiones) {
		
		$resultado = false;
		
		try {
		
			$pk = $this->generarPK();
			
			$this->validarCodUe($objUE->getCodUEText(), $pk);
			 
			$objUE->setCodue($pk);
			
			$objUE->setCodTipoue(self::TIPO_DEPOSITO);
			
			$resultado = $objUE->save();
			
			if($resultado) {
				
				$this->setCodUe($pk);
				
				$this->crearBaseUE();
				
				// grabar lista de particulas
				$oComposicionBN = new ComposicionBN();			
				foreach($listaParticulas as $oItem) {
					$oItem->setCodue($pk);
					$oComposicionBN->crearComposicion($oItem);
				}
				
				// grabar lista de inclusiones
				$oComposicionBN = new ComposicionBN();			
				foreach($listaInclusiones as $oItem) {
					$oItem->setCodue($pk);
					$oComposicionBN->crearComposicion($oItem);
				}			
				
			}
		}
		catch(Exception $e) {
			$this->mensaje = $e->getMessage();
			$resultado = false;
		}
		
		return $resultado;
		
	}
	
	public function actualizarDeposito( Uestratigrafica $objUE, $listaParticulas, $listaInclusiones) {

		$resultado = false;
		
		try {
		
			$this->validarCodUe($objUE->getCodUEText(), $objUE->getCodue());
			
			$resultado = $objUE->save();
	
			$this->actualizarBaseUE();		
			
			// eliminar composicion existente
			$oComposicionBN = new ComposicionBN();
			$oComposicionBN->eliminarComposicion($objUE->getCodue());
			
			// grabar lista de particulas
			foreach($listaParticulas as $oItem) {
				$oItem->setCodue($objUE->getCodue());
				$oComposicionBN->crearComposicion($oItem);
			}
			
			// grabar lista de inclusiones
			foreach($listaInclusiones as $oItem) {
				$oItem->setCodue($objUE->getCodue());
				$oComposicionBN->crearComposicion($oItem);
			}			
		
		} catch(Exception $e) {
			$this->mensaje = $e->getMessage();
			$resultado = false;
		}
		
		return $resultado;		
	}
	
	public function eliminarDeposito($idDeposito) {
		
	}
	
}
?>